package model;

import homes.VuelosHome;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class Vuelo {
    
    public int idVuelo;
    public Date fechaSalida;
    public Date fechaLlegada;
    public String codigoVuelo;
    public Ciudad destino;
    public Ciudad origen;
    public List<Asiento> asientos;
    
    public Vuelo(){
        
    }

    public Vuelo(Date fechaSalida,Date fechaLlegada,String codigoVuelo,Ciudad destino,
             Ciudad origen, ArrayList<Asiento> asientos) {
        this.fechaLlegada = fechaLlegada;
        this.fechaSalida = fechaSalida;
        this.codigoVuelo = codigoVuelo;
        this.origen = origen;
        this.destino = destino;
        this.asientos = asientos;

    }

    public List<Asiento> getAsientos() {
        return asientos;
    }

    public void setAsientos(List<Asiento> asientos) {
        this.asientos = asientos;
    }

    public int getIdVuelo() {
        return idVuelo;
    }

    public void setIdVuelo(int idVuelo) {
        this.idVuelo = idVuelo;
    }
    
    public Date getFechaSalida() {
        return this.fechaSalida;
    }

    public void setFechaSalida(final Date fechaSalida) {
        this.fechaSalida = fechaSalida;
    }

    public Date getFechaLlegada() {
        return this.fechaLlegada;
    }

    public void setFechaLlegada(final Date fechaLlegada) {
        this.fechaLlegada = fechaLlegada;
    }

    public String getCodigoVuelo() {
        return this.codigoVuelo;
    }

    public void setCodigoVuelo(final String codigoVuelo) {
        this.codigoVuelo = codigoVuelo;
    }

    public Ciudad getDestino() {
        return this.destino;
    }

    public void setDestino(final Ciudad destino) {
        this.destino = destino;
    }

    public Ciudad getOrigen() {
        return this.origen;
    }

    public void setOrigen(final Ciudad origen) {
        this.origen = origen;
    }

    public String toString() {
        return "VUELO [id= " +this.idVuelo + " codigoVuelo= "+ this.codigoVuelo + " fechaSalida= " + 
               this.fechaSalida + " fechaLlegada= " +  this.fechaLlegada + " origen= " + this.origen +
               " destino= " + this.destino + " ]"  ;
    }
    
    Date d = new Date(2012);
    
    public int porcentajeReservas(){
        VuelosHome vueloH = new VuelosHome();
        Vuelo vuelo = vueloH.get(this.getIdVuelo());
        int cantidad = vuelo.getAsientos().size();
        int totalReservas = 0;
        for (Asiento asiento : vuelo.getAsientos()) {
            if (asiento.getReserva() != null)
                totalReservas ++;
        }
        return (totalReservas/cantidad)*100;
    }

}
